草庐IT

网络攻 击

全部标签

c# - C# 中多线程网络服务器的模式

在设计多线程服务器时,是否有我可以遵循的模板/模式/指南?通过我的谷歌搜索,我在网上找不到任何非常有用的东西。我的程序将启动一个线程以使用TcpListener监听连接。每个客户端连接都将由它自己的IClientHandler线程处理。服务器会将clientHandler.HandleClient包装在委托(delegate)中,调用BeginInvoke,然后不再关心它。我还需要能够干净地关闭监听线程,这是我在网上找不到的很多示例。我假设锁定/AutoResetEvents/线程魔法与异步BeginAceptTcpClient和EndAcceptTcpClient的一些组合会让我到达

c# - 由于 Json.Net TypeNameHandling auto 导致外部 json 易受攻击?

我正在运营一个小型网站,用户可以在其中上传JSON中定义的自定义“对象”。最近我了解到使用JSON和自动类型反序列化可能存在的威胁:JSONproblem.我想我明白问题所在,但我必须问清楚。如果我只用给定的特定类型反序列化传入的JSON(这里是MyObject)JsonConvert.DeserializeObject(json,settings);并且里面没有类型MyObject并且没有MyObject的任何成员的子类型有类型System.Object或dynamic没有什么会变坏的,对吧?TypeNameHandling的settings设置为TypeNameHandling.A

c# - 在 .NET 中指定 UDP 多播应该转到的网络接口(interface)

在一台同时具有事件无线网卡和LAN端口并通过交叉电缆连接到另一台运行相同应用程序的计算机的计算机上,我们需要通过LAN线向另一台计算机发送UDP多播。使用C#套接字,Windows似乎每次都尝试通过WLAN适配器路由消息。有没有办法指定在哪个网络接口(interface)上发送UDP多播? 最佳答案 正如Nikolai回答的附录:KB318911的问题是一个肮脏的把戏,用户必须提供必要的适配器索引。在寻找如何检索此适配器索引时,我想出了这样的方法:NetworkInterface[]nics=NetworkInterface.Get

c# - 如何配置 Resharper 5.1 的 Test Runner 以接受网络共享?

我有一个位于网络共享上的项目。测试运行器尝试运行测试但失败并显示一条错误消息。单元测试运行程序无法加载程序集:JetBrains.ReSahrper.TaskRunnerFramework.TaskException:无法加载文件或组合'File://\myshare\VisualStudio2010\Projects\MyPorject\TestMyProject\bin\Release\TestMyProject.dll'或其依赖项之一。测试使用MSTest运行。我在VisualStudio2010Pro的devenv.exe.config中启用了loadFromRemoteSou

c# - 失败 - 下载由 EPPlus.dll 制作的 excel 文件时出现网络错误

我尝试从asp.netc#web表单应用程序下载由EPPlus.dll生成的excel文件。但我失败了-网络错误。需要注意的是,上述错误只是在chrome中出现,在其他浏览器中可以正常完成。顺便说一句,这个错误不会发生在我的本地主机上,它只会发生在主服务器上。如果有人能解释这个问题的解决方案,那将非常有帮助。http://www.irandnn.ir/blog/PostId/29/epplus 最佳答案 我在使用Response.Clear()和Response.Close()时遇到了同样的问题,不得不避免使用它们来查看我的代码,如

c# - "The request failed with an empty response"调用网络服务时

当从aspx页面调用托管在服务器中的网络服务时,我收到类似“请求失败,响应为空”的错误。我页面中的代码try{HttpWebRequestrequest1=(HttpWebRequest)WebRequest.Create("https://login.erp.com/rodeprovisioning/provisioning.asmx");request1.Accept="text/xml";request1.Method="POST";WebProxyproxyObject=newSystem.Net.WebProxy("http://10.0.0.1:8080/",true);r

c# - 如何确定字符串是本地文件夹字符串还是网络字符串?

除了正则表达式,如何在c#中判断一个字符串是本地文件夹字符串还是网络字符串?例如:我有一个字符串,它可以是"c:\a"或"\\foldera\folderb" 最佳答案 我认为这个问题的完整答案是包括DriveInfo.DriveType属性的用法。publicstaticboolIsNetworkPath(stringpath){if(!path.StartsWith(@"/")&&!path.StartsWith(@"\")){stringrootPath=System.IO.Path.GetPathRoot(path);//g

c# - 数据契约(Contract)序列化器可以用于任何第三方网络服务吗

我有一个大型的第三方网络服务;reference.cs是33MB。使用VisualStudio2017,代理使用XMLSerializer,这会在创建channel时造成5秒的延迟。我在Microsoft开了一个案例,他们部分地向我展示了如何修改reference.cs以使用Datacontract序列化程序。在同一台机器上,channel创建时间为20毫秒,这完全符合我的需求。不幸的是,消息因细微差别而失败,Microsoft支持人员无法提供帮助。有已知的限制吗?我应该寻找任何模式来确定它根本不起作用,我应该开始使用HTTP请求重写所有内容吗?导致整体延迟的实际方法:publicXm

c# - 访问网络驱动器上的文件

背景:我有一个应用程序必须读取网络驱动器(Z:)上的文件这在我的办公室域中非常有效,但它在现场(在不同的域中)不起作用。据我所知,域用户和网络驱动器的设置方式相同,但我无权访问客户域中的用户等。当我无法访问网络驱动器时,我想我需要一个用户token。这就是我模拟用户的方式:[DllImport("advapi32.dll",SetLastError=true,CharSet=CharSet.Unicode)]publicstaticexternboolLogonUser(StringlpszUsername,StringlpszDomain,StringlpszPassword,int

c# - 调用许多网络服务的最佳方式?

我有30个子公司,每个子公司都实现了他们的网络服务(使用不同的技术)。我需要实现一个web服务来聚合它们,例如,所有子公司的web服务都有一个名为GetUserPoint(intnationalCode)的web方法,我需要实现我的web服务将调用所有这些并收集所有响应(例如积分总和)。这是我的基类:publicabstractclassBaseClass{//allsameattributesandmethodspubliclongGetPoint(intnationalCode);}对于每个子公司的Web服务,我都实现了一个继承该基类的类,并定义了自己的GetPoint方法。pub